// samsting : this file is auto create.

#ifndef ALIYUN_Rds_DescribeAccountsResponse_H_
#define ALIYUN_Rds_DescribeAccountsResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Rds {

class DescribeAccountsResponse : public AcsResponse {
public:
  DescribeAccountsResponse();

  class DBInstanceAccount {
    friend class DescribeAccountsResponse;
  public:

    class DatabasePrivilege {
      friend class DescribeAccountsResponse;
      friend class DBInstanceAccount;
    public:
      const string& GetDBName(void) const;
      const string& GetAccountPrivilege(void) const;
    private:
      string DBName_;
      string AccountPrivilege_;
    }; // DatabasePrivilege 

    const std::vector<DatabasePrivilege>& GetDatabasePrivileges(void) const;
    const string& GetDBInstanceId(void) const;
    const string& GetAccountName(void) const;
    const string& GetAccountStatus(void) const;
    const string& GetAccountDescription(void) const;
  private:
    std::vector<DatabasePrivilege> DatabasePrivileges_;
    string DBInstanceId_;
    string AccountName_;
    string AccountStatus_;
    string AccountDescription_;
  }; // DBInstanceAccount 

  const std::vector<DBInstanceAccount>& GetAccounts(void) const;

private:
  std::vector<DBInstanceAccount> Accounts_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Rds {

#endif // #ifndef ALIYUN_Rds_DescribeAccountsResponse_H_

// end of file 
